package com.yuetong.business.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yuetong.common.annotation.Excel;
import com.yuetong.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 电梯信息，用于存储电梯的基本信息及其所属场所对象 yt_elevator_info
 *
 * @author  卓晓君
 * @date 2025-03-07
 */
public class YtElevatorInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 电梯ID */
    private Long elevatorId;

    /** 场所ID */
    @Excel(name = "场所ID")
    private Long placeId;

    /** 序列号 */
    @Excel(name = "序列号")
    private String serialNumber;

    /** 台数 */
    @Excel(name = "台数")
    private Long num;

    /** 保养金额 */
    @Excel(name = "保养金额")
    private BigDecimal maintainAmount;


    /** 注册代码 */
    @Excel(name = "注册代码")
    private String registrationCode;

    /** 电梯出厂编号 */
    @Excel(name = "电梯出厂编号")
    private String factoryNumber;

    /** 层数 */
    @Excel(name = "层数")
    private Long floors;

    /** 站数 */
    @Excel(name = "站数")
    private Long stops;

    /** 门数 */
    @Excel(name = "门数")
    private Long doors;

    /** 详细地点 */
    @Excel(name = "详细地点")
    private String detailedLocation;

    /** 纬度 */
    @Excel(name = "纬度")
    private BigDecimal latitude;

    /** 经度 */
    @Excel(name = "经度")
    private BigDecimal longitude;

    /** 品牌 */
    @Excel(name = "品牌")
    private String brand;

    /** 型号 */
    @Excel(name = "型号")
    private String model;

    /** 安装日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "安装日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date installedDate;

    /** 上次维护日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上次维护日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastMaintenanceDate;

    /** 电梯状态 */
    @Excel(name = "电梯状态")
    private String status;

    /** 排序字段 */
    @Excel(name = "排序字段")
    private Long sortOrder;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    private YtPlaceInfo ytPlaceInfo;

    public void setElevatorId(Long elevatorId)
    {
        this.elevatorId = elevatorId;
    }

    public Long getElevatorId()
    {
        return elevatorId;
    }
    public void setPlaceId(Long placeId)
    {
        this.placeId = placeId;
    }

    public Long getPlaceId()
    {
        return placeId;
    }
    public void setSerialNumber(String serialNumber)
    {
        this.serialNumber = serialNumber;
    }

    public String getSerialNumber()
    {
        return serialNumber;
    }
    public void setRegistrationCode(String registrationCode)
    {
        this.registrationCode = registrationCode;
    }

    public String getRegistrationCode()
    {
        return registrationCode;
    }
    public void setFactoryNumber(String factoryNumber)
    {
        this.factoryNumber = factoryNumber;
    }

    public String getFactoryNumber()
    {
        return factoryNumber;
    }
    public void setFloors(Long floors)
    {
        this.floors = floors;
    }

    public Long getFloors()
    {
        return floors;
    }
    public void setStops(Long stops)
    {
        this.stops = stops;
    }

    public Long getStops()
    {
        return stops;
    }
    public void setDoors(Long doors)
    {
        this.doors = doors;
    }

    public Long getDoors()
    {
        return doors;
    }
    public void setDetailedLocation(String detailedLocation)
    {
        this.detailedLocation = detailedLocation;
    }

    public String getDetailedLocation()
    {
        return detailedLocation;
    }
    public void setLatitude(BigDecimal latitude)
    {
        this.latitude = latitude;
    }

    public BigDecimal getLatitude()
    {
        return latitude;
    }
    public void setLongitude(BigDecimal longitude)
    {
        this.longitude = longitude;
    }

    public BigDecimal getLongitude()
    {
        return longitude;
    }
    public void setBrand(String brand)
    {
        this.brand = brand;
    }

    public String getBrand()
    {
        return brand;
    }
    public void setModel(String model)
    {
        this.model = model;
    }

    public String getModel()
    {
        return model;
    }
    public void setInstalledDate(Date installedDate)
    {
        this.installedDate = installedDate;
    }

    public Date getInstalledDate()
    {
        return installedDate;
    }
    public void setLastMaintenanceDate(Date lastMaintenanceDate)
    {
        this.lastMaintenanceDate = lastMaintenanceDate;
    }

    public Date getLastMaintenanceDate()
    {
        return lastMaintenanceDate;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setSortOrder(Long sortOrder)
    {
        this.sortOrder = sortOrder;
    }

    public Long getSortOrder()
    {
        return sortOrder;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    public Long getNum() {
        return num;
    }

    public void setNum(Long num) {
        this.num = num;
    }

    public BigDecimal getMaintainAmount() {
        return maintainAmount;
    }

    public void setMaintainAmount(BigDecimal maintainAmount) {
        this.maintainAmount = maintainAmount;
    }
    public YtPlaceInfo getYtPlaceInfo() {
        return ytPlaceInfo;
    }

    public void setYtPlaceInfo(YtPlaceInfo ytPlaceInfo) {
        this.ytPlaceInfo = ytPlaceInfo;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("elevatorId", getElevatorId())
            .append("placeId", getPlaceId())
            .append("serialNumber", getSerialNumber())
            .append("registrationCode", getRegistrationCode())
            .append("factoryNumber", getFactoryNumber())
            .append("floors", getFloors())
            .append("stops", getStops())
            .append("doors", getDoors())
            .append("detailedLocation", getDetailedLocation())
            .append("latitude", getLatitude())
            .append("longitude", getLongitude())
            .append("brand", getBrand())
            .append("model", getModel())
            .append("installedDate", getInstalledDate())
            .append("lastMaintenanceDate", getLastMaintenanceDate())
            .append("status", getStatus())
            .append("sortOrder", getSortOrder())
            .append("num", getNum())
            .append("maintainAmount", getMaintainAmount())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("delFlag", getDelFlag())
            .toString();
    }



}
